package xyz.xtt.admin.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 用户基础信息表
 * </p>
 *
 * @author author
 * @since 2024-11-26
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("tbl_user")
public class TblUser implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id(uuid)
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * asset_user_id
     */
    private Integer userId;

    /**
     * 应用user_id
     */
    private Long appUserId;

    /**
     * 手机号
     */
    private String phone;


    /**
     * 手机号
     */
    private String phoneBk;

    /**
     * 邮箱地址
     */
    private String email;

    /**
     * 登陆密码
     */
    private String loginPassword;

    /**
     * 支付密码
     */
    private String payPassword;

    /**
     * 用户状态{0：正常、1：禁用、2：注销、3、管理员}

     */
    private Integer status;

    /**
     * 站内昵称
     */
    private String nickname;

    /**
     * 头像[只包含文件名部分]
     */
    private String avatarUri;

    /**
     * 性别 0:男、1：女、2：未知
     */
    private Integer gender;

    /**
     * 国家
     */
    private String country;

    /**
     * 省份
     */
    private String province;

    /**
     * 城市
     */
    private String city;

    /**
     * 经度
     */
    private String lon;

    /**
     * 纬度
     */
    private String lat;

    /**
     * 会员等级id
     */
    private Integer gradeId;

    /**
     * 职业
0：艺术家
1：律师
2、公务员
3、法官
     */
    private String occupation;

    /**
     * 渠道码：
1000:通通app
1001:others
     */
    private String channelCode;

    /**
     * 邀请码
     */
    private String inviteCode;

    /**
     * 注册时间
     */
    private LocalDateTime registerDatetime;

    /**
     * 登入时间
     */
    private LocalDateTime loginDatetime;

    /**
     * 最新修改时间
     */
    private LocalDateTime lastModifyDatetime;

    /**
     * 用户姓名
     */
    private String userName;

    /**
     * 身份证号
     */
    private String idCardNo;

    /**
     * 认证状态：0未认证 1已认证
     */
    private Integer authStatus;

    /**
     * 上次认证时间
     */
    private Long authBefore;


}
